home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 2.4)
-
- import os
- import sys
- import imp
- from TreeWidget import TreeItem
- from ClassBrowser import ClassBrowser, ModuleBrowserTreeItem
-
- class PathBrowser(ClassBrowser):
-
- def __init__(self, flist):
- self.init(flist)
-
-
- def settitle(self):
- self.top.wm_title('Path Browser')
- self.top.wm_iconname('Path Browser')
-
-
- def rootnode(self):
- return PathBrowserTreeItem()
-
-
-
- class PathBrowserTreeItem(TreeItem):
-
- def GetText(self):
- return 'sys.path'
-
-
- def GetSubList(self):
- sublist = []
- for dir in sys.path:
- item = DirBrowserTreeItem(dir)
- sublist.append(item)
-
- return sublist
-
-
-
- class DirBrowserTreeItem(TreeItem):
-
- def __init__(self, dir, packages = []):
- self.dir = dir
- self.packages = packages
-
-
- def GetText(self):
- if not self.packages:
- return self.dir
- else:
- return self.packages[-1] + ': package'
-
-
- def GetSubList(self):
-
- try:
- if not self.dir:
- pass
- names = os.listdir(os.curdir)
- except os.error:
- return []
-
- packages = []
- for name in names:
- file = os.path.join(self.dir, name)
- if self.ispackagedir(file):
- nn = os.path.normcase(name)
- packages.append((nn, name, file))
- continue
-
- packages.sort()
- sublist = []
- for nn, name, file in packages:
- item = DirBrowserTreeItem(file, self.packages + [
- name])
- sublist.append(item)
-
- for nn, name in self.listmodules(names):
- item = ModuleBrowserTreeItem(os.path.join(self.dir, name))
- sublist.append(item)
-
- return sublist
-
-
- def ispackagedir(self, file):
- if not os.path.isdir(file):
- return 0
-
- init = os.path.join(file, '__init__.py')
- return os.path.exists(init)
-
-
- def listmodules(self, allnames):
- modules = { }
- suffixes = imp.get_suffixes()
- sorted = []
- for suff, mode, flag in suffixes:
- i = -len(suff)
- for name in allnames[:]:
- normed_name = os.path.normcase(name)
- if normed_name[i:] == suff:
- mod_name = name[:i]
- if not modules.has_key(mod_name):
- modules[mod_name] = None
- sorted.append((normed_name, name))
- allnames.remove(name)
-
- modules.has_key(mod_name)
-
-
- sorted.sort()
- return sorted
-
-
-
- def main():
- import PyShell
- PathBrowser(PyShell.flist)
- if sys.stdin is sys.__stdin__:
- mainloop()
-
-
- if __name__ == '__main__':
- main()
-
-